1. Field
One embodiment of the invention relates to a management technique for a storage area to enhance data write efficiency in a nonvolatile semiconductor memory drive such as a solid-state drive (SSD), for example.
2. Description of the Related Art
Recently, portable, battery-driven notebook personal computers called mobile PCs have become popular. In most personal computers of this type, a wireless communication function is provided or a wireless communication function can be added as required by connecting a wireless communication module to a universal serial bus (USB) connector or inserting such a module into a PC card slot. Therefore, if the user carries the mobile PC with him, he can create and send documents or acquire various kinds of information at any location or while on the move.
Further, since it is required that a personal computer of this type be portable, highly shock-resistant and usable for long periods when powered by battery, research into ways to make devices smaller and lighter, enhance shock-resistance and reduce power consumption is in progress. Against this background, mobile note PCs incorporating flash-memory-based SSDs instead of hard disk drives (HDDs) have recently begun to be manufactured and sold.
For a device using a flash memory, various mechanisms for adequately managing storage areas to maintain data write efficiency have been proposed (for example, see Japanese Patent Publication No. 3195988).
As a storage area management method for maintaining the data write efficiency, compaction is well known. When it is assumed that a plurality of groups are constructed as a storage area management unit, compaction is a process of selecting, for example, two groups in which the capacity of invalid data (that occurs when data is updated at the additional write time) is increased, putting valid data of the two groups into one group and resetting one group to an unused state. The data write efficiency can be maintained by appropriately performing the compaction process to securely acquire a free group in the unused state.
Generally, the compaction process is performed when the number of free groups becomes less than or equal to a reference value. Therefore, if a new mechanism for securely attaining the number of free groups is provided, the opportunity of performing the compaction process itself can be suppressed and the data write efficiency can be maintained more securely.